home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_toolbx.arc / USEDOS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1988-03-30  |  1.1 KB  |  35 lines

  1. /*  usedos.c - examples of using DOS services  */
  2. #include   "stdio.h"
  3. #include   "cminor.h"
  4. #include   "asmtools.h"
  5. #include   "dosfun.h"
  6.  
  7. int  get_drive()                /* ger default drive number */
  8.   {                             /* returns 0=A; , 1=B: , 2=C: ect */
  9.      REGS  sreg , dreg ;
  10.  
  11.      dos2call(CURR_DISK,&sreg,&dreg) ;
  12.      return( dreg.ax & 0xff ) ; /* return what DOS left in AL register */
  13.   }
  14.  
  15. int  set_drive(dno)             /* set default drive */
  16.   int   dno ;                   /* new drive number 0=A: , 1=B: ect. */
  17.   {
  18.      REGS sreg , dreg ;
  19.  
  20.      sreg.dx = (word16) dno ;
  21.      dos2call(SELECT_DISK,&sreg,&dreg) ;
  22.   }
  23.  
  24. int  get_cd(dno,dname)          /* get name of current directory */
  25.   int   dno ;                   /* on this drive 0=default, 1=A: , 2=B: */
  26.   char  dname[] ;               /* put the directory name here */
  27.   {
  28.      REGS  sreg , dreg ;
  29.  
  30.      sreg.dx = (word16) dno ;
  31.      get_dads(dname,&sreg.ds,&sreg.si) ;
  32.      return(dos2call(GET_DIR,&sreg,&dreg) ) ;   /* return success (0) */
  33.                                                 /* or failure (-1)    */
  34.    }
  35.